Skip to main content
Version: 1.0

CTRLPanel Test

info

Please only use CTRLPanel installations that are not modifyed by plugins/modules/scripts or themes.

This repository is using the playwright framework to provide E2E to help developers of the project to speed up development and provide a more stable and secure product.
In case you wanna help by adding some tests, playwright got a awsome documentaion here but here are some basics we already took care of so you can start right away.

Setup

Requirements

  • A setup version of CTRLPanel with the version you wanna test
  • A admin account & a user account on this panel
  • Basic knowlage of JS (or TS)
  • NodeJS 18+

Instructions

1: clone this repo
2: run npm install to install modules
3: run npx playwright install to install playwright browsers
4: rename .env.example to .env
5: populate .env with your data
6: you are ready to go

Testing

CLI

´npx playwright test

UI

npx playwright test --ui

Write your own tests

Simple rules

Because you need to be logged in for almost everything, we already took care of this.
Playwright tests are loaded by regex matches.
To create a test that runs on a user account, name it like so:

[What is the test testing].[Permissions].[What is this file].js  

So for example: server.user.test.js (Testing servers, with a user account, and its a test)
We setup a admin and user test env this way.

Make the test

Playwright comes with a codegen funktion npx playwright codegen.
With this its easy to get the selection of elements you want quickly and then write the test.